package com.sjh.lib_app.statusMananger

import android.content.Context
import android.view.View
import android.widget.TextView

/**
 * 状态布局的抽象类
 * @author Extends
 * @date 2020/1/14/014
 */
abstract class StatusView {
    val defaultErrorMsg = "网络连接失败啦/(ㄒoㄒ)/~~"
    val defaultEmptyMsg = "暂时还没有内容哦~去其他板块逛逛吧~"

    /**
     * 提示文本控件
     */
    protected var tvMessage: TextView? = null

    abstract fun createView(context: Context, statusManager: StatusManager): View

    /**
     * 自定义错误的提示内容
     * 子类需要在createView中给 tvMessage赋值才会生效
     */
    open fun setErrorMsg(errorMsg: String?) {
        tvMessage?.text = errorMsg ?: defaultErrorMsg
    }

    /**
     * 自定义空数据的提示内容
     * 子类需要在createView中给 tvMessage赋值才会生效
     */
    open fun setEmptyMsg(emptyMsg: String?) {
        tvMessage?.text = emptyMsg ?: defaultEmptyMsg
    }
}